package com.jcfk.eam.domain.dto.base;

import com.jcfk.system.domain.dto.BaseDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * 资产通用文档
 *
 * @author libinghai
 * @email 35738025@gqq.com
 * @date 2024-08-16
 */
@Data
public class EamCommonDocDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 资产大类
     */
    private Integer assetKind;

    /**
     * 资产类型
     */
    @Length(max = 32, message = "资产类型长度不能超过32")
    private String assetTypeId;

    /**
     * 资产类型
     */
    private String assetTypeName;

    /**
     * 制造商主键
     */
    @Length(max = 255, message = "制造商主键长度不能超过255")
    private String makerId;

    /**
     * 制造商编号
     */
    @Length(max = 255, message = "制造商编号长度不能超过255")
    private String makerCode;

    /**
     * 制造商名称
     */
    @Length(max = 255, message = "制造商名称长度不能超过255")
    private String makerName;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 资产型号主键
     */
    @Length(max = 32, message = "资产型号主键长度不能超过32")
    private String assetModelId;

    /**
     * 资产型号
     */
    @Length(max = 50, message = "资产型号长度不能超过50")
    private String assetModelNo;

    /**
     * 文档分类
     */
    private Integer docKind;

    /**
     * 文档类型
     */
    @Length(max = 20, message = "文档类型长度不能超过20")
    private String docType;

    /**
     * 文档编号
     */
    @Length(max = 50, message = "文档编号长度不能超过50")
    private String docNo;

    /**
     * 文档名称
     */
    @Length(max = 128, message = "文档名称长度不能超过128")
    private String docName;

    /**
     * 文档版本号
     */
    @Length(max = 50, message = "文档版本号长度不能超过50")
    private String docVersionNo;

    /**
     * 关键字
     */
    @Length(max = 255, message = "关键字长度不能超过255")
    private String keyword;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 序号
     */
    private Integer sort;

    /**
     * 文件类型
     */
    @Length(max = 20, message = "文件类型长度不能超过20")
    private String fileType;

    /**
     * 存储路径
     */
    @Length(max = 255, message = "存储路径长度不能超过255")
    private String path;

    /**
     * 原始文件名
     */
    @Length(max = 100, message = "原始文件名长度不能超过100")
    private String originalFilename;

    /**
     * 文件名
     */
    @Length(max = 100, message = "文件名长度不能超过100")
    private String fileName;

    /**
     * 文件地址
     */
    @Length(max = 255, message = "文件地址长度不能超过255")
    private String url;

    /**
     * 组织机构主键
     */
    @Length(max = 32, message = "组织机构主键长度不能超过32")
    private String organizationId;

    /**
     * 创建人
     */
    @Length(max = 90, message = "创建人长度不能超过90")
    private String createdUserName;

    /**
     * 更新人
     */
    @Length(max = 90, message = "更新人长度不能超过90")
    private String lastUpdatedUserName;
    /**
     * 产品
     */
    private String productCode;
    private String productName;

    /**
     * 批量删除id
     */
    private List<String> ids;
}
